package org.apache.flink.runtime.rest;

import java.io.IOException;
import java.util.concurrent.ScheduledExecutorService;

import org.apache.flink.configuration.Configuration;
import org.apache.flink.runtime.blob.TransientBlobService;
import org.apache.flink.runtime.leaderelection.LeaderElectionService;
import org.apache.flink.runtime.resourceconsumer.ResourceConsumerGateway;
import org.apache.flink.runtime.resourcemanager.ResourceManagerGateway;
import org.apache.flink.runtime.rest.handler.RestHandlerConfiguration;
import org.apache.flink.runtime.rest.legacy.metrics.MetricFetcher;
import org.apache.flink.runtime.rpc.FatalErrorHandler;
import org.apache.flink.runtime.rpc.retriever.GatewayRetriever;
import org.apache.flink.runtime.webmonitor.RestfulGateway;
import org.apache.flink.runtime.webmonitor.WebMonitorEndpoint;
import org.apache.flink.util.ConfigurationException;

/** REST endpoint for the {@link MiniDispatcherRestEndpoint}. */
public class MiniDispatcherRestEndpoint extends WebMonitorEndpoint<RestfulGateway> {

    public MiniDispatcherRestEndpoint(
            GatewayRetriever<? extends RestfulGateway> leaderRetriever,
            Configuration clusterConfiguration,
            RestHandlerConfiguration restConfiguration,
            GatewayRetriever<ResourceConsumerGateway> resourceConsumerRetriever,
            GatewayRetriever<ResourceManagerGateway> resourceManagerRetriever,
            TransientBlobService transientBlobService,
            ScheduledExecutorService executor,
            MetricFetcher metricFetcher,
            LeaderElectionService leaderElectionService,
            FatalErrorHandler fatalErrorHandler)
            throws IOException, ConfigurationException {
        super(
                leaderRetriever,
                clusterConfiguration,
                restConfiguration,
                resourceConsumerRetriever,
                resourceManagerRetriever, 
                transientBlobService,
                executor,
                metricFetcher,
                leaderElectionService,
                fatalErrorHandler);
    }
}

